package se.webbzon.oschi01.worldobject;

import java.util.Collection;

import javax.media.j3d.Transform3D;

public interface WorldGroup {
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** Adds an instance to this world group. **/
	public void addInstance(WorldStaticObject instance);
	
	/** Removes an instance to this world group. **/
	public void removeInstance(WorldStaticObject instance);
	
	/** Returns a collection of all instances in this world group. **/
	public Collection<WorldStaticObject> getInstances();
	
	/** Copies the group transform into the given transform. **/
	public void getGroupTransform(Transform3D transform);
	
	/** Transforms the given Transform3D so it is the product of the
	 * group matrix multiplied with the given transform. **/
	public void transform(Transform3D transform);

}
